import { NestFactory } from '@nestjs/core';
import { DocumentBuilder, SwaggerModule } from '@nestjs/swagger';
import { AppModule } from './app.module';

async function bootstrap() {
  const app = await NestFactory.create(AppModule);
  
  // 设置全局前缀，排除 Swagger 文档路径
  app.setGlobalPrefix('api', {
    exclude: ['api'],
  });
  
  // 配置 CORS
  app.enableCors({
    origin: "*",
    methods: ['GET', 'POST', 'PUT', 'DELETE', 'OPTIONS'],
    allowedHeaders: ['Content-Type', 'Authorization', 'Accept'],
    credentials: true,
  });
  
  // 配置 Swagger - 简化版本
  const config = new DocumentBuilder()
    .setTitle('八字服务 API')
    .setDescription('提供完整的八字计算功能，包括基本信息、大运、流年、流月、流日、流时等详细分析')
    .setVersion('1.0.0')
    .addTag('bazi', '八字计算相关接口')
    .addServer('http://localhost:3000', '开发环境')
    .build();
  
  const document = SwaggerModule.createDocument(app, config);
  SwaggerModule.setup('api', app, document, {
    customSiteTitle: '八字服务 API 文档',
    customfavIcon: 'https://nestjs.com/img/logo-small.svg',
  });
  
  await app.listen(process.env.PORT ?? 3000);
  console.log(`🚀 应用运行在: http://localhost:${process.env.PORT ?? 3000}`);
  console.log(`📚 API 文档: http://localhost:${process.env.PORT ?? 3000}/api`);
}
bootstrap();
